﻿// ==========================================================================
// Sample.cs
// Silverlight Shapes Library
// ==========================================================================
// Copyright (c) Silverlight Shapes Development Group
// All rights reserved.
// ==========================================================================

using System.Collections.ObjectModel;
using System.Windows.Markup;

namespace SD.Samples.Configuration
{
    /// <summary>
    /// Stores the configuration of one sample of the application.
    /// </summary>
    [ContentProperty("SourceFiles")]
    public sealed class Sample
    {
        /// <summary>
        /// Gets or sets the name of the sample.
        /// </summary>
        /// <value>The name of the sample.</value>
        public string Name { get; set; }

        /// <summary>
        /// Gets or sets a description about the sample.
        /// </summary>
        /// <value>The description of the sample.</value>
        public string Description { get; set; }

        /// <summary>
        /// Gets or sets the name of the project file in the solution.
        /// </summary>
        /// <value>The name of the project file in the solution.</value>
        public string ProjectFile { get; set; }

        /// <summary>
        /// Gets or sets the path to the page where the sample is described.
        /// </summary>
        /// <value>The path to the page where the sample is described.</value>
        public string Page { get; set; }

        private Collection<SourceFile> _sourceFiles = new Collection<SourceFile>();
        /// <summary>
        /// Gets a collection of all source files of the current sample.
        /// </summary>
        /// <value>The source files of the current sample.</value>
        public Collection<SourceFile> SourceFiles
        {
            get { return _sourceFiles; }
        }
    }
}
